// let proto={
//   name:"wang",
//   age:22
// }

// let obj=Object.create(proto,{
//   sex:{
//     value:"boy",
//     writable:true
//   }
// })
// console.log(obj.sex) // wang
// console.log(obj) // { sex: 'boy }

// let obj={}
// Object.defineProperty(obj,'sex',{
//   value:'boy',
//   writable:true,
//   enumerable:false,
//   configurable:true
// })

// Object.defineProperty(obj,'age',{
//   value:22,
//   writable:false,
//   enumerable:true,
//   configurable:false
// })

// Object.defineProperty(obj,'sex',{
//   value:'boy',
//   writable:false,
//   enumerable:true,
//   configurable:true
// })
// console.log(obj)

// const obj={
//   foo:123,
//   get bar(){return 'abc'}
// }

// console.log(Object.getOwnPropertyDescriptors(obj))

const people={
  set name(value){
    console.log(value)
  }
}

const target={}

Object.assign(target,Object.getOwnPropertyDescriptors(people))


console.log(Object.getOwnPropertyDescriptor(target, 'name'))